///@创建者：王志强
///@创建日期：2020-06-23
///文件描述:[Map] 测试Map方法和属性
import 'package:flutter_test/flutter_test.dart';
void main(){
  test('测试Map',(){
    var myMap=Map();
    myMap.addAll({'name':'王志强'});
//    print(myMap);//{name: 王志强}
    myMap.addAll({'name':'王志强','age':'25'});
//    print(myMap);//{name: 王志强, age: 25}
//    var keys=myMap.keys;
//    print(keys);//(name, age)
//    print(keys.runtimeType);//_CompactIterable<dynamic>
//    var values=myMap.values;
//    print(values);//(王志强, 25)
//    print(values.runtimeType);//_CompactIterable<dynamic>
//  int length=myMap.length;
//  print(length);//2
//    myMap.length=3;//不能像List那样赋值，会报错的
//  print(myMap.isNotEmpty);//true
//  print(myMap.isEmpty);//false
//  bool containsKey=myMap.containsKey('name');
//  print(containsKey);//true
//  myMap.forEach((key, value) {
//    print('${key}:${value}');
////    name:王志强
////    age:25
//
//  });
//  var containsValue=myMap.containsValue('王志强');
//  print(containsValue);//true
//  print(myMap.runtimeType);//_InternalLinkedHashMap<dynamic, dynamic>
//    print(myMap.toString());//{name: 王志强, age: 25}
//  myMap.removeWhere((key, value) =>key=='name'||value=='25');
//  print(myMap);//{}
//    myMap.removeWhere((key, value) =>key=='name'&&value=='25');
//    print(myMap);//{name: 王志强, age: 25}
//  print(myMap.hashCode);//444486569
//  var myapp1=myMap.cast();
//  print(myapp1);//{name: 王志强, age: 25}
//  var newMap=myMap.map((key, value){//不懂的
//    if(value=='25'){
//      return {'haha':'你好啊'};
//    }else{
//      return  {'haha':'你好啊'};
//    }
//
//  });
//  print(newMap);
//  myMap.update('name', (value) => 'dart');
//  print(myMap);//{name: dart, age: 25}
//  myMap.updateAll((key, value){
//    if(key=='name'){
//      value='搜索';
//    }
//  });
//  print(myMap);//{name: null, age: null}
//    myMap.addAll({0:'我是map0'});
//    print(myMap);//{name: 王志强, age: 25, 0: 我是map0}
//    myMap.remove(0);
//    print(myMap);//{name: 王志强, age: 25}
//    myMap.remove('age');//移除某个key
//    print(myMap);//{name: 王志强}
//    myMap.remove('不存在的key');//移除不存在的key,并不会报错
//    print(myMap);//{name: 王志强}
//    myMap.clear();//清除
//    print(myMap);//{}

//Map.fromEntries({'name':'hah','a':'b'});

  });
}